Storage systems which use multiple storage devices, such as hard disk drives (HDDs), are in wide use in recent years. In such a storage system, recording control is generally implemented in such a manner that data is redundantly stored in two or more storage devices using redundant arrays of inexpensive disks (RAID) technology, which improves security of the recorded data. In a storage system where data is stored redundantly, if a storage device fails, data stored in the failed storage device is reconstructed and stored in a different storage device, such as a spare storage device called “hot spare”. Such a process is commonly termed the “rebuild process”. Redundancy of the data is re-established when the rebuild process is performed.
As for storage systems, it is sought to carry out the rebuild process simultaneously with in/out (I/O) processes for storage devices performed based on requests from a host device (hereinafter, referred to as the “host I/O processes”), without stopping the host I/O processes. In this case, it is preferable to perform the rebuild process while decreasing the performance of the host I/O processes as little as possible. However, on the other hand, a demand has also been raised for reducing the time required for the rebuild process.
In view of the above-described problems, consideration has been given to controlling the balance of load between the host I/O processes and the rebuild process. For example, a storage system has been proposed in which the number of host I/O processes in progress and the number of rebuild processes in progress are managed and, then, the number of execution requests for rebuild processes is controlled in accordance with the number of host I/O processes in progress. Another storage system has been proposed in which the size of each operation of the rebuild process is changed in accordance with the presence or absence of host I/O processes. Yet another storage system has been proposed in which, in the case where no I/O request from a host device is received within a predetermined period of time, a write operation at an address and a read operation at a different address in the rebuild process are carried out in parallel.
Japanese Patent No. 4322068
Japanese Laid-open Patent Publication No. 2007-94994
Japanese Patent No. 4472917
In accordance with the recent increase in storage area capacity of storage systems, the time required for the rebuild process tends to increase. For this reason, it is a challenge to further reduce the time required for the rebuild process.